/**
 * Copyright &copy; 2012-2014 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.jims.master.modules.sync.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jims.master.common.persistence.DataEntity;
import org.hibernate.validator.constraints.Length;

import java.util.Date;

/**
 * 住院记录详情Entity
 * @author xueyx
 * @version 2017-11-17
 */
public class PatVisitDetail extends DataEntity<PatVisitDetail> {
	
	private static final long serialVersionUID = 1L;
	private String visitId;		// visit_id
	private String cureWay;		// 治则治法
	private String observationCn;		// 中医&ldquo;四诊&rdquo;观察结果
	private String address;		// 地址
	private String aboBloodType;		// ABO血型代码
    private String aboBloodTypeStr;		// ABO血型代码
	private String bloodType;		// 血型代码
    private String bloodTypeStr;		// 血型代码
	private String coderName;		// 编码员签名
	private String identNumber;		// 病案号
	private String medicalRecordQuality;		// 病案质量代码1:甲;&nbsp; 2:乙;&nbsp; 3:丙;&nbsp;
    private String medicalRecordQualityStr;
    private String bornAddress;		// 出生地
	private String isAgainIn31;		// 出院31天内再住院标志
	private String againIn31Goal;		// 出院31天内再住院目的
	private String phone;		// 电话号码
	private String workAddress;		// 工作单位地址
	private String workZipcode;		// 工作单位地址-邮政编码
	private String workPhone;		// 工作单位电话号码
	private String workName;		// 工作单位名称
	private String departheadSign;		// 科主任签名
	private String refresherSign;		// 进修医师签名
	private String contactsAddress;		// 联系人地址-门牌号码
	private String contactsPhone;		// 联系人电话号码
	private String contactsName;		// 联系人姓名
	private String contactsRelation;		// 联系人与患者的关系代码
	private String brainComaDayAfter;		// 颅脑损伤患者人院后昏迷时间的天数
	private String brainComaHourAfter;		// 颅脑损伤患者人院后昏迷时间的小时数
	private String brainComaMinAfter;		// 颅脑损伤患者人院后昏迷时间的分钟数
	private String brainComaDayBefore;		// 颅脑损伤患者人院前昏迷时间的天数
	private String brainComaHourBefore;		// 颅脑损伤患者入院前昏迷时间的小时数
	private String brainComaMinBefore;		// 颅脑损伤患者人院前昏迷时间的分钟数
	private String receiveOrgName;		// 拟接收医疗机构名称
	private String receiveOrgId;		// 拟接收医疗机构id
	private String inDay;		// 实际住院天数
	private String internSign;		// 实习医师签名
	private String babyBornWeight;		// 新生儿出生体重（kg）
	private String babyInWeight;		// 新生儿入院体重
	private String qualityNurseSign;		// 质控护士签名
	private Date qualityDate;		// 质控日期
    private String qualityDateStr;		// 质控日期
	private String qualityDoctorSign;		// 质控医师签名
	private String allCost;		// 住院总费用
	private String costPayself;		// 住院总费用-自付金额
	private String nation;		// 民族
	private String ageYear;		// 年龄（岁）
	private String ageMother;		// 年龄（月）
	private String treatment;		// 辨证论治详细描述
	
	public PatVisitDetail() {
		super();
	}

	public PatVisitDetail(String id){
		super(id);
	}

	@Length(min=0, max=64, message="visit_id长度必须介于 0 和 64 之间")
	public String getVisitId() {
		return visitId;
	}

	public void setVisitId(String visitId) {
		this.visitId = visitId;
	}
	
	@Length(min=0, max=100, message="治则治法长度必须介于 0 和 100 之间")
	public String getCureWay() {
		return cureWay;
	}

	public void setCureWay(String cureWay) {
		this.cureWay = cureWay;
	}
	
	public String getObservationCn() {
		return observationCn;
	}

	public void setObservationCn(String observationCn) {
		this.observationCn = observationCn;
	}
	
	@Length(min=0, max=70, message="地址长度必须介于 0 和 70 之间")
	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}
	
	@Length(min=0, max=1, message="ABO血型代码长度必须介于 0 和 1 之间")
	public String getAboBloodType() {
		return aboBloodType;
	}

	public void setAboBloodType(String aboBloodType) {
		this.aboBloodType = aboBloodType;
	}
	
	@Length(min=0, max=1, message="血型代码长度必须介于 0 和 1 之间")
	public String getBloodType() {
		return bloodType;
	}

	public void setBloodType(String bloodType) {
		this.bloodType = bloodType;
	}
	
	@Length(min=0, max=50, message="编码员签名长度必须介于 0 和 50 之间")
	public String getCoderName() {
		return coderName;
	}

	public void setCoderName(String coderName) {
		this.coderName = coderName;
	}
	
	@Length(min=0, max=18, message="病案号长度必须介于 0 和 18 之间")
	public String getIdentNumber() {
		return identNumber;
	}

	public void setIdentNumber(String identNumber) {
		this.identNumber = identNumber;
	}
	
	@Length(min=0, max=1, message="病案质量代码1:甲;&nbsp; 2:乙;&nbsp; 3:丙;&nbsp;长度必须介于 0 和 1 之间")
	public String getMedicalRecordQuality() {
		return medicalRecordQuality;
	}

	public void setMedicalRecordQuality(String medicalRecordQuality) {
		this.medicalRecordQuality = medicalRecordQuality;
	}
	
	@Length(min=0, max=70, message="出生地长度必须介于 0 和 70 之间")
	public String getBornAddress() {
		return bornAddress;
	}

	public void setBornAddress(String bornAddress) {
		this.bornAddress = bornAddress;
	}
	
	@Length(min=0, max=1, message="出院31天内再住院标志长度必须介于 0 和 1 之间")
	public String getIsAgainIn31() {
		return isAgainIn31;
	}

	public void setIsAgainIn31(String isAgainIn31) {
		this.isAgainIn31 = isAgainIn31;
	}
	
	@Length(min=0, max=100, message="出院31天内再住院目的长度必须介于 0 和 100 之间")
	public String getAgainIn31Goal() {
		return againIn31Goal;
	}

	public void setAgainIn31Goal(String againIn31Goal) {
		this.againIn31Goal = againIn31Goal;
	}
	
	@Length(min=0, max=20, message="电话号码长度必须介于 0 和 20 之间")
	public String getPhone() {
		return phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}
	
	@Length(min=0, max=70, message="工作单位地址长度必须介于 0 和 70 之间")
	public String getWorkAddress() {
		return workAddress;
	}

	public void setWorkAddress(String workAddress) {
		this.workAddress = workAddress;
	}
	
	@Length(min=0, max=6, message="工作单位地址-邮政编码长度必须介于 0 和 6 之间")
	public String getWorkZipcode() {
		return workZipcode;
	}

	public void setWorkZipcode(String workZipcode) {
		this.workZipcode = workZipcode;
	}
	
	@Length(min=0, max=20, message="工作单位电话号码长度必须介于 0 和 20 之间")
	public String getWorkPhone() {
		return workPhone;
	}

	public void setWorkPhone(String workPhone) {
		this.workPhone = workPhone;
	}
	
	@Length(min=0, max=70, message="工作单位名称长度必须介于 0 和 70 之间")
	public String getWorkName() {
		return workName;
	}

	public void setWorkName(String workName) {
		this.workName = workName;
	}
	
	@Length(min=0, max=50, message="科主任签名长度必须介于 0 和 50 之间")
	public String getDepartheadSign() {
		return departheadSign;
	}

	public void setDepartheadSign(String departheadSign) {
		this.departheadSign = departheadSign;
	}
	
	@Length(min=0, max=50, message="进修医师签名长度必须介于 0 和 50 之间")
	public String getRefresherSign() {
		return refresherSign;
	}

	public void setRefresherSign(String refresherSign) {
		this.refresherSign = refresherSign;
	}
	
	@Length(min=0, max=70, message="联系人地址-门牌号码长度必须介于 0 和 70 之间")
	public String getContactsAddress() {
		return contactsAddress;
	}

	public void setContactsAddress(String contactsAddress) {
		this.contactsAddress = contactsAddress;
	}
	
	@Length(min=0, max=20, message="联系人电话号码长度必须介于 0 和 20 之间")
	public String getContactsPhone() {
		return contactsPhone;
	}

	public void setContactsPhone(String contactsPhone) {
		this.contactsPhone = contactsPhone;
	}
	
	@Length(min=0, max=50, message="联系人姓名长度必须介于 0 和 50 之间")
	public String getContactsName() {
		return contactsName;
	}

	public void setContactsName(String contactsName) {
		this.contactsName = contactsName;
	}
	
	@Length(min=0, max=1, message="联系人与患者的关系代码长度必须介于 0 和 1 之间")
	public String getContactsRelation() {
		return contactsRelation;
	}

	public void setContactsRelation(String contactsRelation) {
		this.contactsRelation = contactsRelation;
	}
	
	@Length(min=0, max=5, message="颅脑损伤患者人院后昏迷时间的天数长度必须介于 0 和 5 之间")
	public String getBrainComaDayAfter() {
		return brainComaDayAfter;
	}

	public void setBrainComaDayAfter(String brainComaDayAfter) {
		this.brainComaDayAfter = brainComaDayAfter;
	}
	
	@Length(min=0, max=2, message="颅脑损伤患者人院后昏迷时间的小时数长度必须介于 0 和 2 之间")
	public String getBrainComaHourAfter() {
		return brainComaHourAfter;
	}

	public void setBrainComaHourAfter(String brainComaHourAfter) {
		this.brainComaHourAfter = brainComaHourAfter;
	}
	
	@Length(min=0, max=2, message="颅脑损伤患者人院后昏迷时间的分钟数长度必须介于 0 和 2 之间")
	public String getBrainComaMinAfter() {
		return brainComaMinAfter;
	}

	public void setBrainComaMinAfter(String brainComaMinAfter) {
		this.brainComaMinAfter = brainComaMinAfter;
	}
	
	@Length(min=0, max=2, message="颅脑损伤患者人院前昏迷时间的天数长度必须介于 0 和 2 之间")
	public String getBrainComaDayBefore() {
		return brainComaDayBefore;
	}

	public void setBrainComaDayBefore(String brainComaDayBefore) {
		this.brainComaDayBefore = brainComaDayBefore;
	}
	
	@Length(min=0, max=2, message="颅脑损伤患者入院前昏迷时间的小时数长度必须介于 0 和 2 之间")
	public String getBrainComaHourBefore() {
		return brainComaHourBefore;
	}

	public void setBrainComaHourBefore(String brainComaHourBefore) {
		this.brainComaHourBefore = brainComaHourBefore;
	}
	
	@Length(min=0, max=2, message="颅脑损伤患者人院前昏迷时间的分钟数长度必须介于 0 和 2 之间")
	public String getBrainComaMinBefore() {
		return brainComaMinBefore;
	}

	public void setBrainComaMinBefore(String brainComaMinBefore) {
		this.brainComaMinBefore = brainComaMinBefore;
	}
	
	@Length(min=0, max=70, message="拟接收医疗机构名称长度必须介于 0 和 70 之间")
	public String getReceiveOrgName() {
		return receiveOrgName;
	}

	public void setReceiveOrgName(String receiveOrgName) {
		this.receiveOrgName = receiveOrgName;
	}
	
	@Length(min=0, max=64, message="拟接收医疗机构id长度必须介于 0 和 64 之间")
	public String getReceiveOrgId() {
		return receiveOrgId;
	}

	public void setReceiveOrgId(String receiveOrgId) {
		this.receiveOrgId = receiveOrgId;
	}
	
	@Length(min=0, max=4, message="实际住院天数长度必须介于 0 和 4 之间")
	public String getInDay() {
		return inDay;
	}

	public void setInDay(String inDay) {
		this.inDay = inDay;
	}
	
	@Length(min=0, max=50, message="实习医师签名长度必须介于 0 和 50 之间")
	public String getInternSign() {
		return internSign;
	}

	public void setInternSign(String internSign) {
		this.internSign = internSign;
	}
	
	@Length(min=0, max=4, message="新生儿出生体重（kg）长度必须介于 0 和 4 之间")
	public String getBabyBornWeight() {
		return babyBornWeight;
	}

	public void setBabyBornWeight(String babyBornWeight) {
		this.babyBornWeight = babyBornWeight;
	}
	
	@Length(min=0, max=4, message="新生儿入院体重长度必须介于 0 和 4 之间")
	public String getBabyInWeight() {
		return babyInWeight;
	}

	public void setBabyInWeight(String babyInWeight) {
		this.babyInWeight = babyInWeight;
	}
	
	@Length(min=0, max=50, message="质控护士签名长度必须介于 0 和 50 之间")
	public String getQualityNurseSign() {
		return qualityNurseSign;
	}

	public void setQualityNurseSign(String qualityNurseSign) {
		this.qualityNurseSign = qualityNurseSign;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getQualityDate() {
		return qualityDate;
	}

	public void setQualityDate(Date qualityDate) {
		this.qualityDate = qualityDate;
	}
	
	@Length(min=0, max=50, message="质控医师签名长度必须介于 0 和 50 之间")
	public String getQualityDoctorSign() {
		return qualityDoctorSign;
	}

	public void setQualityDoctorSign(String qualityDoctorSign) {
		this.qualityDoctorSign = qualityDoctorSign;
	}
	
	public String getAllCost() {
		return allCost;
	}

	public void setAllCost(String allCost) {
		this.allCost = allCost;
	}
	
	public String getCostPayself() {
		return costPayself;
	}

	public void setCostPayself(String costPayself) {
		this.costPayself = costPayself;
	}
	
	@Length(min=0, max=2, message="民族长度必须介于 0 和 2 之间")
	public String getNation() {
		return nation;
	}

	public void setNation(String nation) {
		this.nation = nation;
	}
	
	@Length(min=0, max=50, message="年龄（岁）长度必须介于 0 和 50 之间")
	public String getAgeYear() {
		return ageYear;
	}

	public void setAgeYear(String ageYear) {
		this.ageYear = ageYear;
	}
	
	@Length(min=0, max=50, message="年龄（月）长度必须介于 0 和 50 之间")
	public String getAgeMother() {
		return ageMother;
	}

	public void setAgeMother(String ageMother) {
		this.ageMother = ageMother;
	}
	
	public String getTreatment() {
		return treatment;
	}

	public void setTreatment(String treatment) {
		this.treatment = treatment;
	}

    public String getAboBloodTypeStr() {
        return aboBloodTypeStr;
    }

    public void setAboBloodTypeStr(String aboBloodTypeStr) {
        this.aboBloodTypeStr = aboBloodTypeStr;
    }

    public String getBloodTypeStr() {
        return bloodTypeStr;
    }

    public void setBloodTypeStr(String bloodTypeStr) {
        this.bloodTypeStr = bloodTypeStr;
    }

    public String getMedicalRecordQualityStr() {
        return medicalRecordQualityStr;
    }

    public void setMedicalRecordQualityStr(String medicalRecordQualityStr) {
        this.medicalRecordQualityStr = medicalRecordQualityStr;
    }

    public String getQualityDateStr() {
        return qualityDateStr;
    }

    public void setQualityDateStr(String qualityDateStr) {
        this.qualityDateStr = qualityDateStr;
    }
}